//
//  TableDataSourceToArray.h
//  Private_Object
//
//  Created by pro on 16/7/30.
//  Copyright © 2016年 pro. All rights reserved.
//

#import <Foundation/Foundation.h>


@interface ByArrayTableDataSource : NSObject <UITableViewDataSource, UITableViewDelegate>

/** 初始化，并作为table的数据源和代理，并实现单元格复用，当前只支持单复用，过于复杂的table不行 */
- (id)initWithTable:(UITableView *)table reusableCellClass:(Class)reusableCellClass;

/** 数据数组，外部赋值，否则table不显示单元格 */
@property (nonatomic, copy) NSArray *itemsAry;

/** YES表示一组多行，NO表示一行多组，默认是YES */
@property (nonatomic, assign, getter=isSingleSection) BOOL singleSection;
/** 组头高度，第一组高度默认为0，其他的组头高度为该值，默认为5 */
@property (nonatomic, assign) CGFloat headerHeight;
/** 固定高度，默认为44 */
@property (nonatomic, assign) CGFloat rowHeight;


// block
/** 单元格高度布局block，根据model和外部的layout类实现高度计算，如果不设置该block则使用固定高度 */
@property (nonatomic, copy) CGFloat(^autoHeightLayout)(id model) ;
/** 单元格属性配置block，为单元格设置属性，和传值 */
@property (nonatomic, copy) void(^cellConfig)(id cell, id model);
/** 单元格点击 */
@property (nonatomic, copy) void(^cellDidSelect)(NSInteger index);






@end
